<template>
	<view class="login">
		<view class="content">
			<!-- 头部logo -->
			<view class="header">
				<image :src="logoImage"></image>
			</view>
			<!-- 主体表单 -->
			<view class="main">
				<wInput
					v-model="phoneData"
					type="text"
					maxlength="11"
					placeholder="手机号"
				></wInput>
				<wInput
					v-model="passData"
					type="password"
					maxlength="11"
					placeholder="密码"
				></wInput>
			</view>
			<wButton 
				text="登 录"
				:rotate="isRotate" 
				@click.native="startLogin()"
				class="wbutton"
			></wButton>
			
			<!-- 其他登录 -->
			<view class="other_login cuIcon">
				<view class="login_icon">
					<view class="cuIcon-weixin" @tap="login_weixin"></view>
					<!-- @tap="login_weixin" -->
					<!-- <button class="cuIcon-weixin"   open-type="getUserInfo" lang="zh_CN" @getuserinfo="onGotUserInfo" ></button> -->
				</view>
				<view class="login_icon">
					<view class="cuIcon-weibo" @tap="login_weibo"></view>
				</view>
				<view class="login_icon">
					<view class="cuIcon-github" @tap="login_github"></view>
				</view>
			</view>
			
			<!-- 底部信息 -->
			<view class="footer">
				<navigator  @tap="forget">找回密码</navigator>
				<text>|</text>
				<navigator url="/pages/login/register" open-type="navigate">注册账号</navigator>
			</view>
		</view>
	</view>
</template>

<script>
	var _this;
	import wInput from '../../components/watch-login/watch-input.vue' //input
	import wButton from '../../components/watch-login/watch-button.vue' //button
	
	export default {
		data() {
			return {
				//logo图片 base64
				logoImage:'',
				phoneData:'', //用户/电话
				passData:'', //密码
				isRotate: false, //是否加载旋转
			};
		},
		components:{
			wInput,
			wButton,
		},
		mounted() {
			_this= this;
			// _this.isLogin();
		},
		methods: {
			isLogin(){
				
				// 判断缓存中是否登录过，直接登录
				try {
					const value = uni.getStorageSync('STOREKEY_LOGIN');
					if (value) {
						//有登录信息
						console.log("已登录用户：",value);
						// _this.$store.dispatch("STOREKEY_LOGIN",userdata); //存入状态
						uni.reLaunch({
									url: '../index/index',
								});
					}
				} catch (e) {
					// error
				}
			},
		    startLogin(){
				//登录
				if(this.isRotate){
					//判断是否加载中，避免重复点击请求
					return false;
				}
				if (this.phoneData.length == "") {
				     uni.showToast({
				        icon: 'none',
						position: 'bottom',
				        title: '用户名不能为空'
				    });
				    return;
				}
		        if (this.passData.length < 6) {
		            uni.showToast({
		                icon: 'none',
						position: 'bottom',
		                title: '密码至少6位'
		            });
		            return;
		        }
				
				_this.isRotate=true
				setTimeout(function(){
					_this.isRotate=false
				},500)
				
				uni.showLoading({
					title: '登录中'
				});
					
				this.$api.Login({username: _this.phoneData,password:_this.passData}).then((res)=>{
						uni.hideLoading();
						if (res.code == 200){
							
							this.res = '请求结果 : ' + JSON.stringify(res);
									
							let userdata={
								"username":res.data.user.userName,
								"nickname":res.data.user.nickName,
								"accesstoken":res.data.token,
							} 
							
							//保存用户信息和accesstoken
							
							// _this.$store.dispatch("STOREKEY_LOGIN",userdata); //存入状态
							uni.setStorage({
							    key: 'STOREKEY_TOKEN',
							    data: res.data.token,
							    success: function () {
							        console.log('STOREKEY_LOGIN success');
							    }
							});
							
							// try {
							// 	uni.setStorageSync('STOREKEY_LOGIN', userdata); //存入缓存
							// 	uni.setStorageSync('STOREKEY_TOKEN', res.data.token);
							// } catch (e) {
							// 	// error
							// 	console.log("存储token失败")
							// }
							
							uni.reLaunch({
										url: '../index/index',
									});
							
							
							
							uni.showToast({
							    title: '登陆成功',
							    icon: 'success',
								duration: 2000,
							});
							
						}else{
							uni.showToast({
							    title: res.msg,
							    icon: 'none',
								duration: 2000,
							});
							    
						}
									
				 
				}).catch((err)=>{
					
					uni.hideLoading();
					uni.showToast({
						icon: 'none',
						position: 'bottom',
						title: '登陆失败'
					});
					console.log('request fail', err);
					
				})
				
				
				// login()
				// .then(res => {
				// 	//console.log(res)
				// 	//简单验证下登录（不安全）
				// 	if(_this.phoneData==res.data.username && _this.passData==res.data.password){
				// 		let userdata={
				// 			"username":res.data.username,
				// 			"nickname":res.data.nickname,
				// 			"accesstoken":res.data.accesstoken,
				// 		} //保存用户信息和accesstoken
				// 		_this.$store.dispatch("setUserData",userdata); //存入状态
				// 		try {
				// 			uni.setStorageSync('setUserData', userdata); //存入缓存
				// 		} catch (e) {
				// 			// error
				// 		}
				// 		uni.showToast({
				// 			icon: 'success',
				// 			position: 'bottom',
				// 			title: '登录成功'
				// 		});
				// 		uni.reLaunch({
				// 			url: '../../../pages/index',
				// 		});
				// 	}else{
				// 		_this.passData=""
				// 		uni.showToast({
				// 			icon: 'error',
				// 			position: 'bottom',
				// 			title: '账号或密码错误，账号admin密码admin'
				// 		});
				// 	}
				// 	uni.hideLoading();
				// }).catch(err => {
				// 	uni.hideLoading();
				// })
				
		    },
			
			// onGotUserInfo(e) {
			//     console.info(e.detail)
			//     console.info(e.detail.userInfo);
			// },
			
			login_weixin() {
				//微信登录
				uni.showToast({
					icon: 'none',
					position: 'bottom',
					title: '微信登录未开通'
				});
			},
			login_weibo() {
				//微博登录
				uni.showToast({
					icon: 'none',
					position: 'bottom',
					title: '微博登录未开通'
				});
			},
			login_github() {
				//github登录
				uni.showToast({
					icon: 'none',
					position: 'bottom',
					title: 'github登录未开通'
				});
			},
			forget() {
				uni.showToast({
					icon: 'none',
					position: 'bottom',
					title: '没得找回！'
				});
			}
		}
	}
</script>

<style>
	@import url("../../components/watch-login/css/icon.css");
	@import url("./css/main.css");
</style>
